// Classi per gli oggetti speciali


function SpecialElementsManager () {

	// Variabili private

	var elements;


	// Metodi pubblici.

	this.getRoot = function (elementName) {
		if (dom === undefined)
			return undefined;
		return elements[elementName].getElementsByTagName(elementName)[0];
	}

	this.refresh = function (elementName) {
		elements[elementName] = getRemoteDOM ("http://ritucci.web.cs.unibo.it/pw/test/jack/" + elementName + ".xhtml");
	}


	// Metodi privati.

	function getRemoteDOM (file_url) {
		var xhr = new XMLHttpRequest ();
		var responseXML;

		xhr.onreadystatechange = function () {
			if (xhr.readyState == 4) {
				if (xhr.status == 200)
					responseXML = xhr.responseXML;
			}
		}

		xhr.open ("GET", file_url, false);
		xhr.send (null);

		return responseXML;
	}


	// Costruttore

	elements = {};
	refresh ("navigazione");
	refresh ("messaggio");
	refresh ("logo");
	refresh ("info-pagina");
	// TODO opzioni

	if (dom === undefined)
		return undefined;

}

